package com.un.ebs.sys.service;

import com.un.ebs.sys.domain.Configure;
import com.un.ebs.sys.dto.ConfigureAddDto;
import com.un.ebs.sys.dto.ConfigureUpdateDto;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author liubo
 * @since 2019-11-01
 */
public interface ConfigureService {

    /**
     * 添加配置项
     *
     * @param req
     */
    void add(ConfigureAddDto req);

    /**
     * 修改配置项
     *
     * @param req
     */
    void update(ConfigureUpdateDto req);

    /**
     * 删除配置项
     *
     * @param id
     */
    void delete(String id);

    /**
     * 根据指定的ID，查询配置项
     *
     * @param id
     * @return
     */
    Configure queryById(String id);

    /**
     * 根据配置 code 获取当前值
     *
     * @param code
     * @return
     */
    String getValueByCode(String code);

    Double getValueDoubleByCode(String code);

    /**
     * 根据配置 code 获取当前值
     *
     * @param code
     * @param tenantId
     * @return
     */
    String getValueByCode(String code, String tenantId);

    /**
     * 根据配置 id 获取当前值
     *
     * @param id
     * @return
     */
    String getValueById(String id);

    /**
     * 根据配置 id 获取当前值
     *
     * @param id
     * @param tenantId
     * @return
     */
    String getValueById(String id, String tenantId);
}
